package com.ruoyi.project.company.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.project.company.domain.Company;
import com.ruoyi.project.company.service.ICompanyService;
/**
 * 
 * @作者 290903152@qq.com
 * @时间 202003
 * @功能 毕业设计
 *
 */
@Controller
@RequestMapping("/company/issues")
public class IssueController  extends BaseController{
	private String prefix = "company/issues";
	
	@Autowired
	private ICompanyService companyService;

    @GetMapping()
    public String config()
    {
        return prefix + "/issues";
    }
    
    @GetMapping("/issuelist")
    @ResponseBody
    public JSONObject issuelist(Company cp) {
    	List<Company> list = companyService.selectCompanyListBythr(cp);
    	
    	JSONArray jsondata = new JSONArray();
    	JSONArray jsonlinks = new JSONArray();
    	for(int i=0;i<list.size();i++) {
    		JSONObject json1 = new JSONObject();
    		JSONObject json2 = new JSONObject();
    		JSONObject json3 = new JSONObject();
    		if(0==i) {
    			json1.put("name", hhf(list.get(i).getThrmenu()));
    			json1.put("symbolSize", 100);
    			jsondata.add(json1);
    			json2.put("name", hhf(list.get(i).getSecmenu()));
    			jsondata.add(json2);
    		}else {
    			if(!(list.get(i).getThrmenu().equals(list.get(i-1).getThrmenu()))) {
	    			json1.put("name", hhf(list.get(i).getThrmenu()));
	    			jsondata.add(json1);
    			}
    			if(!(list.get(i).getSecmenu().equals(list.get(i-1).getSecmenu()))) {
    				json2.put("name", hhf(list.get(i).getSecmenu()));
    				jsondata.add(json2);
    			}
    			
    		}
    		json3.put("name", hhf(list.get(i).getFirmenu()));
    		jsondata.add(json3);
    		
    		JSONObject jsonlk1 = new JSONObject();
    		JSONObject jsonlk2 = new JSONObject();
    		if(0==i) {
    			jsonlk1.put("source", hhf(list.get(i).getThrmenu()));
    			jsonlk1.put("target", hhf(list.get(i).getSecmenu()));
    			jsonlk1.put("name", list.get(i).getSecrelation());
    			jsonlinks.add(jsonlk1);
    			jsonlk2.put("source", hhf(list.get(i).getSecmenu()));
    			jsonlk2.put("target", hhf(list.get(i).getFirmenu()));
    			jsonlk2.put("name", list.get(i).getFirrelation());
    			jsonlinks.add(jsonlk2);
    		}else {
    			if(!(list.get(i).getThrmenu().equals(list.get(i-1).getThrmenu()))) {
	    		
    				jsonlk1.put("source", hhf(list.get(i).getThrmenu()));
        			jsonlk1.put("target", hhf(list.get(i).getSecmenu()));
        			jsonlk1.put("name", list.get(i).getSecrelation());
        			jsonlinks.add(jsonlk1);
    			}

    			if(!(list.get(i).getSecmenu().equals(list.get(i-1).getSecmenu()))) {
    	    		
    				jsonlk1.put("source", hhf(list.get(i).getThrmenu()));
        			jsonlk1.put("target", hhf(list.get(i).getSecmenu()));
        			jsonlk1.put("name", list.get(i).getSecrelation());
        			jsonlinks.add(jsonlk1);
    			}
    			jsonlk2.put("source", hhf(list.get(i).getSecmenu()));
    			jsonlk2.put("target", hhf(list.get(i).getFirmenu()));
    			jsonlk2.put("name", list.get(i).getFirrelation());
    			jsonlinks.add(jsonlk2);
    		}
    		
    		
    	}

    	JSONObject json = new JSONObject();
    	json.put("jsondata", jsondata);
    	json.put("jsonlinks", jsonlinks);
        return json;
    }
    public String hhf(String str) {
    	String str2 = "";
    	if(str != null) {
        	for(int i = 0; i < str.length(); i += 5)
        	if(i + 5 < str.length())
        	str2 += str.substring(i, i + 5) + "\r\n";
        	else
        	str2 += str.substring(i);
    	}

    	return str2;
    }
}
